<?php

/**
 * modules
 * @OA\Schema(
 *       schema="Modules",
 *       description="Modules-模块",
 *       @OA\Property(
 *            property="name",
 *            type="string",
 *            description="模块名"
 *      ),
 *      @OA\Property(
 *            property="alias",
 *            type="string",
 *            description="别名"
 *       ),
 *       @OA\Property(
 *            property="description",
 *            type="string",
 *            description="描述",
 *       ),
 *     @OA\Property(
 *            property="version",
 *            type="string",
 *            description="版本",
 *       ),
 *     @OA\Property(
 *            property="keywords",
 *            type="array",
 *            description="创建人ID",
 *            @OA\Items(type="string")
 *       ),
 *     @OA\Property(
 *            property="order",
 *            type="number",
 *            description="排序",
 *       ),
 *     @OA\Property(
 *            property="services",
 *            type="array",
 *            description="服务",
 *            @OA\Items(type="string")
 *       ),
 *    @OA\Property(
 *            property="aliases",
 *            type="array",
 *            description="别名",
 *            @OA\Items(type="string")
 *       ),
 *     @OA\Property(
 *            property="files",
 *            type="array",
 *            description="文件夹",
 *            @OA\Items(type="string")
 *       ),
 *     @OA\Property(
 *            property="requires",
 *            type="array",
 *            description="要求",
 *            @OA\Items(type="string"),
 *     ),
 *     @OA\Property(
 *            property="enable",
 *            type="boolen",
 *            description="启用/禁用",
 *     ),
 * )
 *
 * @OA\Get(path="/modules",
 *   tags={"modules"},
 *   summary="模块列表",
 *   operationId="getModules",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/QueryResponse")
 *   )
 * )
 *
 *
 * @OA\Parameter(
 *    name="module",
 *    description="module",
 *    in="path",
 *    required=true,
 *    @OA\Schema(
 *       type="string"
 *    )
 * )
 *
 * @OA\Put(path="/modules/{module}",
 *   tags={"modules"},
 *   summary="模块状态切换",
 *   operationId="switchStatusModules",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Parameter(ref="#/components/parameters/module"),
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 *
 * @OA\Put(path="/cache/modules",
 *   tags={"modules"},
 *   summary="缓存模块",
 *   operationId="cacheModules",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 *
 *
 * @OA\Delete(path="/clear/modules",
 *   tags={"modules"},
 *   summary="清除缓存模块",
 *   operationId="clearModules",
 *   security={{"Authorization-Bearer":{}}},
 *   @OA\Response(response="200", description="Success",
 *       @OA\JsonContent(ref="#/components/schemas/HandleResponse")
 *   )
 * )
 */
